/**
 * 给定质数数组A，再给定[L, R]，求区间内不是A中元素倍数的数的数量
 * A最多为20，很明显容斥。
 * 注意A元素累乘积可能很大，要判断
 */
#include <bits/stdc++.h>
using namespace std;

#include <bits/extc++.h>
using namespace __gnu_pbds;

using llt = long long;

llt L, R;
int K;
vector<int> A;

llt f(llt p){
    auto left = (L - 1) / p;
    auto right = R / p;
    return right - left;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(0);
    cin >> L >> R >> K;
    A.assign(K, {});
    for(auto & i : A) cin >> i;

    llt ans = 0;
    for(int i=1,n=1<<K;i<n;++i){
        int c = 0;
        llt tmp = 1;
        for(int j=0;j<K;++j){
            if(i & (1 << j)){
                tmp *= A[j];
                c ^= 1;
            }
            if(tmp > R) goto L;
        }
        if(c) ans += f(tmp);
        else ans -= f(tmp);
        L:;
    }
    cout << R - L + 1 - ans << endl;
    return 0;
}